struct _POP_THERMAL_ZONE// Size=0x170
{
    struct _POP_POLICY_DEVICE PolicyDevice;// Offset=0x0 Size=0x20
    struct _LIST_ENTRY Link;// Offset=0x0 Size=0x8
    enum POWER_POLICY_DEVICE_TYPE DeviceType;// Offset=0x8 Size=0x4
    void * Notification;// Offset=0xc Size=0x4
    struct _UNICODE_STRING Name;// Offset=0x10 Size=0x8
    struct _DEVICE_OBJECT * Device;// Offset=0x18 Size=0x4
    struct _IRP * Irp;// Offset=0x1c Size=0x4
    unsigned char State;// Offset=0x20 Size=0x1
    unsigned char Flags;// Offset=0x21 Size=0x1
    unsigned char Removing;// Offset=0x22 Size=0x1
    unsigned char Mode;// Offset=0x23 Size=0x1
    unsigned char PendingMode;// Offset=0x24 Size=0x1
    unsigned char ActivePoint;// Offset=0x25 Size=0x1
    unsigned char PendingActivePoint;// Offset=0x26 Size=0x1
    unsigned char Critical;// Offset=0x27 Size=0x1
    long HighPrecisionThrottle;// Offset=0x28 Size=0x4
    long Throttle;// Offset=0x2c Size=0x4
    long PendingThrottle;// Offset=0x30 Size=0x4
    unsigned long ThrottleReasons;// Offset=0x34 Size=0x4
    unsigned long long LastTime;// Offset=0x38 Size=0x8
    unsigned long SampleRate;// Offset=0x40 Size=0x4
    unsigned long LastTemp;// Offset=0x44 Size=0x4
    struct _KTIMER PassiveTimer;// Offset=0x48 Size=0x28
    struct _KDPC PassiveDpc;// Offset=0x70 Size=0x20
    struct _THERMAL_INFORMATION_EX Info;// Offset=0x90 Size=0x50
    union _LARGE_INTEGER InfoLastUpdateTime;// Offset=0xe0 Size=0x8
    struct _THERMAL_POLICY Policy;// Offset=0xe8 Size=0x14
    unsigned char PolicyDriver;// Offset=0xfc Size=0x1
    struct _POP_THERMAL_ZONE_METRICS Metrics;// Offset=0x100 Size=0x30
    struct _WORK_QUEUE_ITEM WorkItem;// Offset=0x130 Size=0x10
    struct _POP_RW_LOCK Lock;// Offset=0x140 Size=0x8
    struct _KEVENT ZoneStopped;// Offset=0x148 Size=0x10
    struct _KEVENT TemperatureUpdated;// Offset=0x158 Size=0x10
    unsigned long InstanceId;// Offset=0x168 Size=0x4
};